// 官网介绍：生成随机数据，拦截 Ajax 请求
import Mock, { Random } from 'mockjs'
// qs 第三方包的依赖包
import qs from 'qs'

// mock的配置
Mock.setup({
  // 随机延时500-1000毫秒
  timeout: '500-1000'
})

// 拦截请求，
// 第一个参数：url，使用正则去匹配
// 第二个参数：请求方式
// 第三个参数： 生成数据的函数
Mock.mock(/\/my\/test/, 'get', () => {
  return {
    msg: '请求测试接口成功',
    result: {
      id: Random.id(),
      name: Random.ctitle(8, 12), // 8-12 个中文
      desc: Random.csentence(15, 25), // 15-25 个中文
      picture: Random.image('200x200', '#4A7BF7', 'Hello'), // 200x200 图片
      price: Random.float(60, 100, 2, 2) // 60-100数字，小数点最小和最大2个
    }
  }
})

// 模拟获取收藏
Mock.mock(/\/member\/collect/, 'get', ({ url }) => {
  const queryString = url.split('?')[1]
  //   💥💥💥可以将参数的字符串转化为对象类型
  const { pageSize, page } = qs.parse(queryString)
  console.log({ pageSize, page })
  return Mock.mock({
    msg: '操作成功',
    result: {
      counts: 45,
      pageSize: Number(pageSize),
      pages: 5,
      page: Number(page),
      //   💥💥💥[] 可以拼接对象的属性名
      ['items|' + pageSize]: [
        {
          id: '@id()',
          name: '@ctitle(8, 12)', // 8-12 个中文
          description: '@csentence(15, 25)', // 15-25 个中文
          picture: "@image('200x200', '#4A7BF7', 'Hello')", // 200x200 图片
          price: '@float(60, 100, 2, 2)', // 60-100数字，小数点最小和最大2个
          collectType: '@integer(1, 3)', // 收藏类型，1为商品，2为专题，3为品牌
          discount: '@integer(0, 1)', // 商品-折扣信息,取值0,1
          productionPlace: '@county(true)', // 品牌-产地,省市区
          detailsUrl: '@url()'// 详情链接
        }
      ]

    }
  })
})
